package com.probiz.estore.common.model.system.base;

import java.io.Serializable;
import com.probiz.estore.core.model.BaseObject;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.EqualsBuilder;

/**
 * SmsQueue Base Java Bean, base class for the model, mapped directly to database table
 * 
 * Avoid changing this file if not necessary, will be overwritten. 
 *
 */
public class SmsQueueTbl extends BaseObject implements Serializable {

    protected Integer smsQueueId;
	protected String smsContent;
	protected String phoneNumbers;
	protected String customerNames;
	protected String sendStatus;
	protected Short status;
	protected java.util.Date sendTime;
	protected java.util.Date createTime;
	protected Integer sendMaxNum;


	/**
	 * Default Empty Constructor for class SmsQueue
	 */
	public SmsQueueTbl () {
		super();
	}
	
	/**
	 * Default Key Fields Constructor for class SmsQueue
	 */
	public SmsQueueTbl (
		 Integer in_smsQueueId
        ) {
		this.setSmsQueueId(in_smsQueueId);
    }

    

	/**
	 * 	 * @return Integer
     * @hibernate.id column="smsQueueId" type="java.lang.Integer" generator-class="native"
	 */
	public Integer getSmsQueueId() {
		return this.smsQueueId;
	}
	
	/**
	 * Set the smsQueueId
	 */	
	public void setSmsQueueId(Integer aValue) {
		this.smsQueueId = aValue;
	}	

	/**
	 * 短信内容	 * @return String
	 * @hibernate.property column="smsContent" type="java.lang.String" length="65535" not-null="true" unique="false"
	 */
	public String getSmsContent() {
		return this.smsContent;
	}
	
	/**
	 * Set the smsContent
	 * @spring.validator type="required"
	 */	
	public void setSmsContent(String aValue) {
		this.smsContent = aValue;
	}	

	/**
	 * 手机号码	 * @return String
	 * @hibernate.property column="phoneNumbers" type="java.lang.String" length="65535" not-null="true" unique="false"
	 */
	public String getPhoneNumbers() {
		return this.phoneNumbers;
	}
	
	/**
	 * Set the phoneNumbers
	 * @spring.validator type="required"
	 */	
	public void setPhoneNumbers(String aValue) {
		this.phoneNumbers = aValue;
	}	

	/**
	 * 客户姓名	 * @return String
	 * @hibernate.property column="customerNames" type="java.lang.String" length="65535" not-null="false" unique="false"
	 */
	public String getCustomerNames() {
		return this.customerNames;
	}
	
	/**
	 * Set the customerNames
	 * @spring.validator type="required"
	 */	
	public void setCustomerNames(String aValue) {
		this.customerNames = aValue;
	}	

	/**
	 * 接口的状态说明	 * @return String
	 * @hibernate.property column="sendStatus" type="java.lang.String" length="500" not-null="false" unique="false"
	 */
	public String getSendStatus() {
		return this.sendStatus;
	}
	
	/**
	 * Set the sendStatus
	 * @spring.validator type="required"
	 */	
	public void setSendStatus(String aValue) {
		this.sendStatus = aValue;
	}	

	/**
	 * 0:未发送，1：已发送	 * @return Short
	 * @hibernate.property column="status" type="java.lang.Short" length="5" not-null="false" unique="false"
	 */
	public Short getStatus() {
		return this.status;
	}
	
	/**
	 * Set the status
	 * @spring.validator type="required"
	 */	
	public void setStatus(Short aValue) {
		this.status = aValue;
	}	

	/**
	 * 发送时间	 * @return java.util.Date
	 * @hibernate.property column="sendTime" type="java.util.Date" length="19" not-null="false" unique="false"
	 */
	public java.util.Date getSendTime() {
		return this.sendTime;
	}
	
	/**
	 * Set the sendTime
	 * @spring.validator type="required"
	 */	
	public void setSendTime(java.util.Date aValue) {
		this.sendTime = aValue;
	}	

	/**
	 * 创建时间	 * @return java.util.Date
	 * @hibernate.property column="createTime" type="java.util.Date" length="19" not-null="false" unique="false"
	 */
	public java.util.Date getCreateTime() {
		return this.createTime;
	}
	
	/**
	 * Set the createTime
	 * @spring.validator type="required"
	 */	
	public void setCreateTime(java.util.Date aValue) {
		this.createTime = aValue;
	}	

	/**
	 * 发送最大次数	 * @return Integer
	 * @hibernate.property column="sendMaxNum" type="java.lang.Integer" length="10" not-null="false" unique="false"
	 */
	public Integer getSendMaxNum() {
		return this.sendMaxNum;
	}
	
	/**
	 * Set the sendMaxNum
	 * @spring.validator type="required"
	 */	
	public void setSendMaxNum(Integer aValue) {
		this.sendMaxNum = aValue;
	}	

	/**
	 * @see java.lang.Object#equals(Object)
	 */
	public boolean equals(Object object) {
		if (!(object instanceof SmsQueueTbl)) {
			return false;
		}
		SmsQueueTbl rhs = (SmsQueueTbl) object;
		return new EqualsBuilder()
				.append(this.smsQueueId, rhs.smsQueueId)
				.append(this.smsContent, rhs.smsContent)
				.append(this.phoneNumbers, rhs.phoneNumbers)
				.append(this.customerNames, rhs.customerNames)
				.append(this.sendStatus, rhs.sendStatus)
				.append(this.status, rhs.status)
				.append(this.sendTime, rhs.sendTime)
				.append(this.createTime, rhs.createTime)
				.append(this.sendMaxNum, rhs.sendMaxNum)
				.isEquals();
	}

	/**
	 * @see java.lang.Object#hashCode()
	 */
	public int hashCode() {
		return new HashCodeBuilder(-82280557, -700257973)
				.append(this.smsQueueId) 
				.append(this.smsContent) 
				.append(this.phoneNumbers) 
				.append(this.customerNames) 
				.append(this.sendStatus) 
				.append(this.status) 
				.append(this.sendTime) 
				.append(this.createTime) 
				.append(this.sendMaxNum) 
				.toHashCode();
	}

	/**
	 * @see java.lang.Object#toString()
	 */
	public String toString() {
		return new ToStringBuilder(this)
				.append("smsQueueId", this.smsQueueId) 
				.append("smsContent", this.smsContent) 
				.append("phoneNumbers", this.phoneNumbers) 
				.append("customerNames", this.customerNames) 
				.append("sendStatus", this.sendStatus) 
				.append("status", this.status) 
				.append("sendTime", this.sendTime) 
				.append("createTime", this.createTime) 
				.append("sendMaxNum", this.sendMaxNum) 
				.toString();
	}

	/**
	 * Return the name of the first key column
	 */
	public String getFirstKeyColumnName() {
		return "smsQueueId";
	}
	/**
	 * Return the Id (pk) of the entity, must be Integer
	 */
	public Integer getId() {
		return smsQueueId;
	}

}